import 'package:naira_card/public.dart';

class SettingPage extends StatelessWidget {
  const SettingPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('设置'), centerTitle: true),
      body: ListView(
        children: [
          // 账户设置
          _buildSectionTitle('账户设置'),
          _buildListTile(
            icon: Icons.person,
            title: '个人信息',
            onTap: () {
              // TODO: 跳转到个人信息页面
            },
          ),
          _buildListTile(
            icon: Icons.lock,
            title: '修改密码',
            onTap: () {
              // TODO: 跳转到修改密码页面
            },
          ),
          const Divider(),

          // 通知设置
          _buildSectionTitle('通知设置'),
          _buildSwitchListTile(
            icon: Icons.notifications,
            title: '接收推送通知',
            value: true,
            onChanged: (value) {
              // TODO: 保存通知设置
            },
          ),
          _buildSwitchListTile(
            icon: Icons.email,
            title: '接收邮件通知',
            value: false,
            onChanged: (value) {
              // TODO: 保存邮件通知设置
            },
          ),
          const Divider(),

          // 通用设置
          _buildSectionTitle('通用设置'),
          _buildListTile(
            icon: Icons.language,
            title: '语言设置',
            trailing: const Text('中文'),
            onTap: () {
              // TODO: 跳转到语言设置页面
            },
          ),
          _buildListTile(
            icon: Icons.brightness_6,
            title: '主题模式',
            trailing: const Text('跟随系统'),
            onTap: () {
              // TODO: 跳转到主题设置页面
            },
          ),
          const Divider(),

          // 关于与帮助
          _buildSectionTitle('关于与帮助'),
          _buildListTile(
            icon: Icons.info,
            title: '关于我们',
            onTap: () {
              // TODO: 跳转到关于页面
            },
          ),
          _buildListTile(
            icon: Icons.help,
            title: '帮助中心',
            onTap: () {
              // TODO: 跳转到帮助中心页面
            },
          ),
          _buildListTile(
            icon: Icons.feedback,
            title: '意见反馈',
            onTap: () {
              // TODO: 跳转到反馈页面
            },
          ),
          const Divider(),

          // 退出登录
          Padding(
            padding: const EdgeInsets.all(16.0),
            child: ElevatedButton(
              onPressed: () {
                // TODO: 弹出确认退出登录对话框
                // showDialog(
                //   context: context,
                //   builder: (context) => AlertDialog(
                //     title: const Text('确认退出'),
                //     content: const Text('您确定要退出登录吗？'),
                //     actions: [
                //       TextButton(
                //         onPressed: () => Navigator.pop(context),
                //         child: const Text('取消'),
                //       ),
                //       TextButton(
                //         onPressed: () {
                //           // TODO: 执行退出登录逻辑
                //           StorageManager.clear();
                //           RouterHelper.navigator.pushReplacementNamed(
                //             Routers.main,
                //           );
                //         },
                //         child: const Text('确定'),
                //       ),
                //     ],
                //   ),
                // );
              },
              style: ElevatedButton.styleFrom(
                backgroundColor: Colors.red,
                foregroundColor: Colors.white,
              ),
              child: const Text('退出登录'),
            ),
          ),
        ],
      ),
    );
  }

  // 构建分组标题
  Widget _buildSectionTitle(String title) {
    return Padding(
      padding: const EdgeInsets.fromLTRB(16, 24, 16, 8),
      child: Text(
        title,
        style: const TextStyle(
          fontSize: 14,
          color: Colors.grey,
          fontWeight: FontWeight.w500,
        ),
      ),
    );
  }

  // 构建普通列表项
  Widget _buildListTile({
    required IconData icon,
    required String title,
    Widget? trailing,
    VoidCallback? onTap,
  }) {
    return ListTile(
      leading: Icon(icon, color: Colors.blue),
      title: Text(title),
      trailing: trailing ?? const Icon(Icons.arrow_forward_ios, size: 16),
      onTap: onTap,
    );
  }

  // 构建开关列表项
  Widget _buildSwitchListTile({
    required IconData icon,
    required String title,
    required bool value,
    ValueChanged<bool>? onChanged,
  }) {
    return SwitchListTile(
      secondary: Icon(icon, color: Colors.blue),
      title: Text(title),
      value: value,
      onChanged: onChanged,
    );
  }
}
